home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
glass
/
glass.lha
/
GLASS
/
dtm
/
dtm.ds
< prev
next >
Wrap
Text File
|
1991-06-18
|
2KB
|
60 lines
|| File: dtm.ds
|| Author: M. Seutter
orig == (file:symbol, line:inum);
|| Definitions.
def ::=
DefAtom atorig:orig atnm:symbol atptyp:[partyp] atctyp:typ | || atom
DefBasetype baseorig:orig basename:symbol | || basetype
DefVal valorig:orig valnm:symbol valtyp:typ valas:val | || def
DefCon conorig:orig defcon:val conas:val | || defcon = conas
DefTyp typorig:orig typnm:symbol typas:typ | || type
DefConTr corig:orig lhs:val rhs:val nr:inum ; || defcon = conas
|| Possible types of parameters types
partyp ::=
PTInt |
PTFlo |
PTStr |
PTBool ;
|| Type expressions
typ ::=
TypBase basenm:symbol | || basetype
TypIn ityp:typ | || ?ityp
TypOut otyp:typ | || !otyp
TypUni uityp:typ uotyp:typ | || uityp => uotyp
TypNon nontyp:typ | || non-directional system
TypProd ptypes:[typ] | || Carthesian product.
TypSym sym:symbol; || symbolic type
|| Formal connection patterns.
formcon ::=
FCList l:[formcon] | || list of formal connections
FCSym sym:symbol; || formal connection symbol
|| parameters of parameterized atoms
parval ::=
ParInt i:inum | || int
ParFlo f:fnum | || float
ParStr s:symbol | || string
ParBool b:bool ; || bool
|| Value expressions.
|| Atoms and apply-s have a source file and line.
val ::=
VSym symorig:orig sym:symbol | || Symbol
VLambda lpar:formcon lval:val | || Lambda abstraction
VSigma spar:formcon sval:val | || Sigma abstraction
VApply aval:val apar:val | || Apply (asval aspar)
VWhere wdefs:[def] wval:val | || local context
VList l:[val] | || List expression
VAppset aps:[val] | || appset
|| Atom application
VAtom atorig:orig atnm:symbol atvpar:[parval] atcpar:val |
VSyn synlist:[val] ; || Synonym expression
|| Variable context
ctx == ( defs:[def] );